Che cosa significa grafica 3D?
Per ottenere la rappresentazione grafica di un oggetto tridimensionale
è necessario passare attraverso due fasi, la descrizione
geometrica dell'oggetto utilizzando coordinate e distanze in un
sistema di assi in tre dimensioni e la successiva rappresentazione
bidimensionale dipendente dal punto di vista dell'osservatore.
Con un software di grafica 3D, quindi, si creano gli oggetti in
uno spazio virtuale tridimensionale descritto matematicamente
nella memoria del computer; il passo successivo consiste nell'inviare
sullo schermo del pc una specie di "fotografia" scattata
sullo scenario contenuto in memoria. La differenza di questo tipo
di gestione grafica, rispetto a quella tradizionale in due dimensioni,
è la stessa che c'è tra osservare una cartolina
di un paesaggio e trovarsi dentro il paesaggio stesso: nel primo
caso si può vedere solo un'immagine predeterminata, mentre
nel secondo ci si può spostare liberamente e osservare
ogni oggetto da un punto di vista diverso. In entrambi i casi
il risultato finale sarà sempre un'immagine in due dimensioni
rappresentata sullo schermo del pc, ma con la fondamentale differenza
che la gestione 3D permette di ottenere rappresentazioni dinamicamente
variabili degli scenari e degli oggetti, con tanto di animazioni
ed effetti speciali. Con un programma o un gioco in due dimensioni
si possono osservare solo le immagini create in origine dall'autore
del software, mentre con un gioco 3D è possibile spostarsi
liberamente in uno spazio tridimensionale virtuale.
Perché serve una scheda 3D?
La gestione della grafica tridimensionale richiede molta potenza
di calcolo: mentre per generare le tradizionali immagini bidimensionali
è sufficiente "disegnarle" sotto forma di bit
nella memoria della scheda grafica (frame buffer), per creare
la rappresentazione di un oggetto tridimensionale è necessario
gestire una dimensione in più in una memoria dedicata detta
Z-buffer. Si passa, quindi, da un tipo di grafica basata sulla
sovrapposizione di immagini bidimensionali, a un tipo completamente
diverso basato sulla descrizione matematica degli oggetti nello
spazio. Ciò richiede una notevole potenza di calcolo da
parte del computer, che deve realizzare milioni di operazioni
matematiche su punti e poligoni per generare in tempo reale la
rappresentazione in due dimensioni dello scenario 3D contenuto
in memoria. Queste operazioni possono essere realizzate dai cosiddetti
"motori di rendering" software, cioè particolari
programmi in grado di eseguire le operazioni richieste sfruttando
la potenza di calcolo della cpu di sistema. In questo caso, però,
si incontrano seri limiti quando si necessita di lavorare con
immagini ad elevata risoluzione e con molti colori: nessun problema,
in pratica, fino a 320x200 punti con 256 colori, ma già
alla risoluzione di 640x480 punti si incontrano notevoli rallentamenti
nella generazione delle immagini. Ma non basta: per rendere realistico
uno scenario 3D è necessario applicare una serie di "filtri"
all'immagine, ad esempio per correggere l'effetto mosaico di alcuni
motivi di riempimento (bilinear filtering e MIP mapping), per
correggere le prospettive, per aggiungere effetti di illuminazione
(specular highlights e depth cueing), di nebbia (fogging) e di
trasparenza (alpha blending). Se si pensa, quindi, che per ottenere
una rappresentazione realistica di uno scenario 3D è necessario
utilizzare almeno la risoluzione di 640x480 punti con 65.000 colori
e con una frequenza di 30 fotogrammi generati ogni secondo, si
capisce la necessità di utilizzare un meccanismo di accelerazione
hardware.
|